package com.lintf.bot.wechat.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.lintf.common.core.domain.entity.SysUser;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.util.Date;
import java.util.List;

/**
 * @author lintf
 * @ system:Mac
 * @ author:lin tingfeng
 * @ data:2024/1/16 15:24
 * @ package_name:com.lintf.system.domain.wechat.dto
 * @ project_name:mobile-project
 * @ desc:
 */
@Data
@Accessors(chain = true)
@NoArgsConstructor
public class NotificationsSendDTO {

    private String title;

    private String content;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date publishTime;

    private String nickName;

    private String pathUrl;

    private Long publishUserId;

    private Long currentUserId;

    private String currentNickName;

    private String accessToken;

    private List<SysUser> sysUsers;

    private Integer groupId;

    public NotificationsSendDTO(String title, String content, Date publishTime, String nickName, Long currentUserId,Integer groupId) {
        this.title = title;
        this.content = content;
        this.publishTime = publishTime;
        this.nickName = nickName;
        this.currentUserId = currentUserId;
        this.groupId = groupId;
    }

    public NotificationsSendDTO(String title, Long publishUserId, Long currentUserId, String currentNickName) {
        this.title = title;
        this.publishUserId = publishUserId;
        this.currentUserId = currentUserId;
        this.currentNickName = currentNickName;
    }

    public NotificationsSendDTO(String title, Long currentUserId, String currentNickName, List<SysUser> sysUsers) {
        this.title = title;
        this.currentUserId = currentUserId;
        this.currentNickName = currentNickName;
        this.sysUsers = sysUsers;
    }
}
